#ifndef NYU_RANGE_H_
#define NYU_RANGE_H_

#include "nyu_object.h"

typedef struct NyuRange NyuRange;

/* Range用のプロトタイプ */
extern NyuObject *nyu_range_proto;

#define NYU_RANGE(X) ((NyuRange *)(X))

struct NyuRange {
    NyuObject base;
    long from;
    long to;
    long step;
    int is_include_border;
};

void nyu_range_initialize();
void nyu_range_finalize();

NyuRange *nyu_range_new(long from, long to, long step, int is_include_border);

#endif /* NYU_RANGE_H_ */
